<?php
/**
 * Map24MapletRemoteControl class file
 * 
 * @author    {author}
 * @copyright {copyright}
 * @package   {package}
 */

/**
 * RequestHeader.CustomerKeyValuePair class
 */
if ( !class_exists('RequestHeaderCustomerKeyValuePair') )
{
require_once 'RequestHeader.CustomerKeyValuePair.php5';
}
/**
 * ResponseHeader class
 */
if ( !class_exists('ResponseHeader') )
{
require_once 'ResponseHeader.php5';
}
/**
 * Coordinate class
 */
if ( !class_exists('Coordinate') )
{
require_once 'Coordinate.php5';
}
/**
 * Property class
 */
if ( !class_exists('Property') )
{
require_once 'Property.php5';
}
/**
 * MapletInfoRequest class
 */
if ( !class_exists('MapletInfoRequest') )
{
require_once 'MapletInfoRequest.php5';
}
/**
 * MapletRemoteControlResponse class
 */
if ( !class_exists('MapletRemoteControlResponse') )
{
require_once 'MapletRemoteControlResponse.php5';
}
/**
 * RequestHeader class
 */
if ( !class_exists('RequestHeader') )
{
require_once 'RequestHeader.php5';
}
/**
 * Surf class
 */
if ( !class_exists('Surf') )
{
require_once 'Surf.php5';
}
/**
 * ComponentControl class
 */
if ( !class_exists('ComponentControl') )
{
require_once 'ComponentControl.php5';
}
/**
 * ControlComponent class
 */
if ( !class_exists('ControlComponent') )
{
require_once 'ControlComponent.php5';
}
/**
 * SetMapView.ClippingWidth class
 */
if ( !class_exists('SetMapViewClippingWidth') )
{
require_once 'SetMapView.ClippingWidth.php5';
}
/**
 * SetHomeView class
 */
if ( !class_exists('SetHomeView') )
{
require_once 'SetHomeView.php5';
}
/**
 * SetMapView class
 */
if ( !class_exists('SetMapView') )
{
require_once 'SetMapView.php5';
}
/**
 * ModifyMapView.Control class
 */
if ( !class_exists('ModifyMapViewControl') )
{
require_once 'ModifyMapView.Control.php5';
}
/**
 * ZoomRectangle class
 */
if ( !class_exists('ZoomRectangle') )
{
require_once 'ZoomRectangle.php5';
}
/**
 * ModifyMapView class
 */
if ( !class_exists('ModifyMapView') )
{
require_once 'ModifyMapView.php5';
}
/**
 * DeclareMap24LocationsLayer class
 */
if ( !class_exists('DeclareMap24LocationsLayer') )
{
require_once 'DeclareMap24LocationsLayer.php5';
}
/**
 * DeclareLayer class
 */
if ( !class_exists('DeclareLayer') )
{
require_once 'DeclareLayer.php5';
}
/**
 * RemoveLayer class
 */
if ( !class_exists('RemoveLayer') )
{
require_once 'RemoveLayer.php5';
}
/**
 * Control class
 */
if ( !class_exists('Control') )
{
require_once 'Control.php5';
}
/**
 * ControlLayer class
 */
if ( !class_exists('ControlLayer') )
{
require_once 'ControlLayer.php5';
}
/**
 * Color class
 */
if ( !class_exists('Color') )
{
require_once 'Color.php5';
}
/**
 * PaintRule.DrawPhase class
 */
if ( !class_exists('PaintRuleDrawPhase') )
{
require_once 'PaintRule.DrawPhase.php5';
}
/**
 * PaintRuleSTROKE.Details class
 */
if ( !class_exists('PaintRuleSTROKEDetails') )
{
require_once 'PaintRuleSTROKE.Details.php5';
}
/**
 * PaintRuleSTROKE class
 */
if ( !class_exists('PaintRuleSTROKE') )
{
require_once 'PaintRuleSTROKE.php5';
}
/**
 * MGenericProperty class
 */
if ( !class_exists('MGenericProperty') )
{
require_once 'MGenericProperty.php5';
}
/**
 * MapObjectCustomSettings class
 */
if ( !class_exists('MapObjectCustomSettings') )
{
require_once 'MapObjectCustomSettings.php5';
}
/**
 * Font class
 */
if ( !class_exists('Font') )
{
require_once 'Font.php5';
}
/**
 * MapObjectOrientation class
 */
if ( !class_exists('MapObjectOrientation') )
{
require_once 'MapObjectOrientation.php5';
}
/**
 * PaintRuleINSCRIPTION.Details class
 */
if ( !class_exists('PaintRuleINSCRIPTIONDetails') )
{
require_once 'PaintRuleINSCRIPTION.Details.php5';
}
/**
 * PaintRuleINSCRIPTION class
 */
if ( !class_exists('PaintRuleINSCRIPTION') )
{
require_once 'PaintRuleINSCRIPTION.php5';
}
/**
 * DeclareMap24RouteObject class
 */
if ( !class_exists('DeclareMap24RouteObject') )
{
require_once 'DeclareMap24RouteObject.php5';
}
/**
 * DeclareMap24TrafficInfoObject class
 */
if ( !class_exists('DeclareMap24TrafficInfoObject') )
{
require_once 'DeclareMap24TrafficInfoObject.php5';
}
/**
 * CoordinatesArray class
 */
if ( !class_exists('CoordinatesArray') )
{
require_once 'CoordinatesArray.php5';
}
/**
 * PaintRuleFILL.Details class
 */
if ( !class_exists('PaintRuleFILLDetails') )
{
require_once 'PaintRuleFILL.Details.php5';
}
/**
 * PaintRuleFILL class
 */
if ( !class_exists('PaintRuleFILL') )
{
require_once 'PaintRuleFILL.php5';
}
/**
 * MapObjectEventID class
 */
if ( !class_exists('MapObjectEventID') )
{
require_once 'MapObjectEventID.php5';
}
/**
 * MapObjectEventModifier class
 */
if ( !class_exists('MapObjectEventModifier') )
{
require_once 'MapObjectEventModifier.php5';
}
/**
 * MapObjectEvent class
 */
if ( !class_exists('MapObjectEvent') )
{
require_once 'MapObjectEvent.php5';
}
/**
 * DeclareMap24Polygon class
 */
if ( !class_exists('DeclareMap24Polygon') )
{
require_once 'DeclareMap24Polygon.php5';
}
/**
 * PaintRuleICONS.Details class
 */
if ( !class_exists('PaintRuleICONSDetails') )
{
require_once 'PaintRuleICONS.Details.php5';
}
/**
 * PaintRuleICONS class
 */
if ( !class_exists('PaintRuleICONS') )
{
require_once 'PaintRuleICONS.php5';
}
/**
 * DeclareMap24Polyline class
 */
if ( !class_exists('DeclareMap24Polyline') )
{
require_once 'DeclareMap24Polyline.php5';
}
/**
 * DeclareMap24Oval class
 */
if ( !class_exists('DeclareMap24Oval') )
{
require_once 'DeclareMap24Oval.php5';
}
/**
 * DeclareMap24Label.Anchor class
 */
if ( !class_exists('DeclareMap24LabelAnchor') )
{
require_once 'DeclareMap24Label.Anchor.php5';
}
/**
 * DeclareMap24Label class
 */
if ( !class_exists('DeclareMap24Label') )
{
require_once 'DeclareMap24Label.php5';
}
/**
 * CanvasReferencePoint class
 */
if ( !class_exists('CanvasReferencePoint') )
{
require_once 'CanvasReferencePoint.php5';
}
/**
 * DeclareMap24HTMLObject class
 */
if ( !class_exists('DeclareMap24HTMLObject') )
{
require_once 'DeclareMap24HTMLObject.php5';
}
/**
 * Address class
 */
if ( !class_exists('Address') )
{
require_once 'Address.php5';
}
/**
 * Bounds class
 */
if ( !class_exists('Bounds') )
{
require_once 'Bounds.php5';
}
/**
 * Map24LocationDrawHint class
 */
if ( !class_exists('Map24LocationDrawHint') )
{
require_once 'Map24LocationDrawHint.php5';
}
/**
 * Map24LocationPaintRule.LogoURLTable class
 */
if ( !class_exists('Map24LocationPaintRuleLogoURLTable') )
{
require_once 'Map24LocationPaintRule.LogoURLTable.php5';
}
/**
 * Map24LocationPaintRule.SymbolIDTable class
 */
if ( !class_exists('Map24LocationPaintRuleSymbolIDTable') )
{
require_once 'Map24LocationPaintRule.SymbolIDTable.php5';
}
/**
 * Map24LocationPaintRule class
 */
if ( !class_exists('Map24LocationPaintRule') )
{
require_once 'Map24LocationPaintRule.php5';
}
/**
 * DeclareMap24Location class
 */
if ( !class_exists('DeclareMap24Location') )
{
require_once 'DeclareMap24Location.php5';
}
/**
 * DeclareMap24Floorplan class
 */
if ( !class_exists('DeclareMap24Floorplan') )
{
require_once 'DeclareMap24Floorplan.php5';
}
/**
 * Anchor class
 */
if ( !class_exists('Anchor') )
{
require_once 'Anchor.php5';
}
/**
 * DeclareCanvasLocation class
 */
if ( !class_exists('DeclareCanvasLocation') )
{
require_once 'DeclareCanvasLocation.php5';
}
/**
 * DeclareCanvasLabel class
 */
if ( !class_exists('DeclareCanvasLabel') )
{
require_once 'DeclareCanvasLabel.php5';
}
/**
 * DeclareMap24SnailTrail class
 */
if ( !class_exists('DeclareMap24SnailTrail') )
{
require_once 'DeclareMap24SnailTrail.php5';
}
/**
 * DeclareMapObjectGroup class
 */
if ( !class_exists('DeclareMapObjectGroup') )
{
require_once 'DeclareMapObjectGroup.php5';
}
/**
 * RemoveMapObject class
 */
if ( !class_exists('RemoveMapObject') )
{
require_once 'RemoveMapObject.php5';
}
/**
 * ControlMapObject class
 */
if ( !class_exists('ControlMapObject') )
{
require_once 'ControlMapObject.php5';
}
/**
 * AssignMapObjectTemplate class
 */
if ( !class_exists('AssignMapObjectTemplate') )
{
require_once 'AssignMapObjectTemplate.php5';
}
/**
 * BasemapLayerPropertySet class
 */
if ( !class_exists('BasemapLayerPropertySet') )
{
require_once 'BasemapLayerPropertySet.php5';
}
/**
 * ControlBasemapLayerProperties class
 */
if ( !class_exists('ControlBasemapLayerProperties') )
{
require_once 'ControlBasemapLayerProperties.php5';
}
/**
 * XMLCommandWrapper class
 */
if ( !class_exists('XMLCommandWrapper') )
{
require_once 'XMLCommandWrapper.php5';
}
/**
 * Map24MRC class
 */
if ( !class_exists('Map24MRC') )
{
require_once 'Map24MRC.php5';
}
/**
 * CustomizedMRC class
 */
if ( !class_exists('CustomizedMRC') )
{
require_once 'CustomizedMRC.php5';
}
/**
 * MapletRemoteControlRequest class
 */
if ( !class_exists('MapletRemoteControlRequest') )
{
require_once 'MapletRemoteControlRequest.php5';
}
/**
 * GetMapletSessionResponse class
 */
if ( !class_exists('GetMapletSessionResponse') )
{
require_once 'GetMapletSessionResponse.php5';
}
/**
 * GetMapletSessionRequest.RequestProperty class
 */
if ( !class_exists('GetMapletSessionRequestRequestProperty') )
{
require_once 'GetMapletSessionRequest.RequestProperty.php5';
}
/**
 * GetMapletSessionRequest class
 */
if ( !class_exists('GetMapletSessionRequest') )
{
require_once 'GetMapletSessionRequest.php5';
}
/**
 * MapletLayerDescription class
 */
if ( !class_exists('MapletLayerDescription') )
{
require_once 'MapletLayerDescription.php5';
}
/**
 * GetMapletLayersResponse class
 */
if ( !class_exists('GetMapletLayersResponse') )
{
require_once 'GetMapletLayersResponse.php5';
}
/**
 * GetMapletLayersRequest class
 */
if ( !class_exists('GetMapletLayersRequest') )
{
require_once 'GetMapletLayersRequest.php5';
}
/**
 * MapletInfoResponse class
 */
if ( !class_exists('MapletInfoResponse') )
{
require_once 'MapletInfoResponse.php5';
}
/**
 * MapletComponentControlResponse class
 */
if ( !class_exists('MapletComponentControlResponse') )
{
require_once 'MapletComponentControlResponse.php5';
}
/**
 * MapletComponentControlRequest class
 */
if ( !class_exists('MapletComponentControlRequest') )
{
require_once 'MapletComponentControlRequest.php5';
}
/**
 * DigitizePointRequest class
 */
if ( !class_exists('DigitizePointRequest') )
{
require_once 'DigitizePointRequest.php5';
}
/**
 * DigitizePointResponse class
 */
if ( !class_exists('DigitizePointResponse') )
{
require_once 'DigitizePointResponse.php5';
}
/**
 * DigitizeOvalRequest class
 */
if ( !class_exists('DigitizeOvalRequest') )
{
require_once 'DigitizeOvalRequest.php5';
}
/**
 * DigitizeOvalResponse class
 */
if ( !class_exists('DigitizeOvalResponse') )
{
require_once 'DigitizeOvalResponse.php5';
}
/**
 * DigitizePolygonRequest class
 */
if ( !class_exists('DigitizePolygonRequest') )
{
require_once 'DigitizePolygonRequest.php5';
}
/**
 * DigitizePolygonResponse class
 */
if ( !class_exists('DigitizePolygonResponse') )
{
require_once 'DigitizePolygonResponse.php5';
}
/**
 * WebServicesResponse class
 */
if ( !class_exists('WebServicesResponse') )
{
require_once 'WebServicesResponse.php5';
}
/**
 * MRCRegisterSubscriberRequest class
 */
if ( !class_exists('MRCRegisterSubscriberRequest') )
{
require_once 'MRCRegisterSubscriberRequest.php5';
}
/**
 * MRCRegisterProviderRequest class
 */
if ( !class_exists('MRCRegisterProviderRequest') )
{
require_once 'MRCRegisterProviderRequest.php5';
}

/**
 * Map24MapletRemoteControl class
 * 
 *  
 * 
 * @author    {author}
 * @copyright {copyright}
 * @package   {package}
 */
class Map24MapletRemoteControl {

  private $client;

  private $wsdl = null;

  /**
   *
   * @param MapTP-System the request should be executed on $server
   * @param Map24Id $mid
   * @param Map24SessionId $sid
   */ 
  public function __construct($server=null, $mid=null, $sid=null, $interface='map24/webservices1.5') {
    if($server==null || $mid==null || $sid==null){
      echo "ERROR: Not enough or invalid arguments! Unable to initialise SoapClient.";
    }
    else {
      $this->wsdl = "http://".$server."/".$interface."?wsdl=Map24MapletRemoteControl";
      $this->client = new SoapClient($this->wsdl, array('location' => "http://".$server."/".$interface."?soap=Map24MapletRemoteControl&mid=".$mid."&sid=".$sid, 'trace' => 1, 'exceptions' => 1));
    }
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MapletRemoteControlRequest $MapletRemoteControlRequest
   * @return MapletRemoteControlResponse
   */
  public function mapletRemoteControl(RequestHeader $RequestHeader, MapletRemoteControlRequest $MapletRemoteControlRequest) {
    return $this->client->mapletRemoteControl($RequestHeader, $MapletRemoteControlRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param GetMapletSessionRequest $GetMapletSessionRequest
   * @return GetMapletSessionResponse
   */
  public function getMapletSession(RequestHeader $RequestHeader, GetMapletSessionRequest $GetMapletSessionRequest) {
    return $this->client->getMapletSession($RequestHeader, $GetMapletSessionRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param GetMapletLayersRequest $GetMapletLayersRequest
   * @return GetMapletLayersResponse
   */
  public function getMapletLayers(RequestHeader $RequestHeader, GetMapletLayersRequest $GetMapletLayersRequest) {
    return $this->client->getMapletLayers($RequestHeader, $GetMapletLayersRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MapletInfoRequest $MapletInfoRequest
   * @return MapletInfoResponse
   */
  public function mapletInfo(RequestHeader $RequestHeader, MapletInfoRequest $MapletInfoRequest) {
    return $this->client->mapletInfo($RequestHeader, $MapletInfoRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MapletComponentControlRequest $MapletComponentControlRequest
   * @return MapletComponentControlResponse
   */
  public function mapletComponentControl(RequestHeader $RequestHeader, MapletComponentControlRequest $MapletComponentControlRequest) {
    return $this->client->mapletComponentControl($RequestHeader, $MapletComponentControlRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param DigitizePointRequest $DigitizePointRequest
   * @return DigitizePointResponse
   */
  public function digitizePoint(RequestHeader $RequestHeader, DigitizePointRequest $DigitizePointRequest) {
    return $this->client->digitizePoint($RequestHeader, $DigitizePointRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param DigitizeOvalRequest $DigitizeOvalRequest
   * @return DigitizeOvalResponse
   */
  public function digitizeOval(RequestHeader $RequestHeader, DigitizeOvalRequest $DigitizeOvalRequest) {
    return $this->client->digitizeOval($RequestHeader, $DigitizeOvalRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param DigitizePolygonRequest $DigitizePolygonRequest
   * @return DigitizePolygonResponse
   */
  public function digitizePolygon(RequestHeader $RequestHeader, DigitizePolygonRequest $DigitizePolygonRequest) {
    return $this->client->digitizePolygon($RequestHeader, $DigitizePolygonRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MRCRegisterSubscriberRequest $MRCRegisterSubscriberRequest
   * @return WebServicesResponse
   */
  public function registerMRCSubscriber(RequestHeader $RequestHeader, MRCRegisterSubscriberRequest $MRCRegisterSubscriberRequest) {
    return $this->client->registerMRCSubscriber($RequestHeader, $MRCRegisterSubscriberRequest);
  }

  /**
   *  
   *
   * @param RequestHeader $RequestHeader
   * @param MRCRegisterProviderRequest $MRCRegisterProviderRequest
   * @return WebServicesResponse
   */
  public function registerMRCProvider(RequestHeader $RequestHeader, MRCRegisterProviderRequest $MRCRegisterProviderRequest) {
    return $this->client->registerMRCProvider($RequestHeader, $MRCRegisterProviderRequest);
  }

}

?>
